home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / Emperor_v4.0 / Emperor / Projects / AminetSearcher.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-05-05  |  20.9 KB  |  449 lines

  1. #include <AminetSearcher_lowlevel.h>
  2.  
  3. void Checkbox_Handle(BOOL);
  4. void Checkbox_Handle_onoff(BOOL);
  5.  
  6. void Window1_CloseWindow_Event(void)
  7. {
  8.     if(Quitrequest1()) terminated = TRUE;
  9. }
  10.  
  11. void Menu_Info_MenuPick_Event(void)
  12. {
  13.     Inforequest1();
  14. }
  15.  
  16. void Menu_Quit_MenuPick_Event(void)
  17. {
  18.     if(Quitrequest1()) terminated = TRUE;
  19. }
  20.  
  21. void Menu_Select_All_MenuPick_Event(void)
  22. {
  23.     Checkbox_Handle_onoff(TRUE);
  24. }
  25.  
  26. void Menu_Select_None_MenuPick_Event(void)
  27. {
  28.     Checkbox_Handle_onoff(FALSE);
  29. }
  30.  
  31. void Checkbox16_GadgetUp_Event(void)
  32. {
  33.     in_lha = stringtoint(Emperor_GetGadgetAttr(Checkbox16));
  34.     Checkbox_Handle(!in_lha);
  35.     Emperor_SetGadgetDisabledAttr(Checkbox17, in_lha || !all_or_one_cd);
  36. }
  37.  
  38. void Checkbox17_GadgetUp_Event(void)
  39. {
  40.     single = stringtoint(Emperor_GetGadgetAttr(Checkbox17));
  41. }
  42.  
  43. void Chooser1_GadgetUp_Event(void)
  44. {
  45.     all_or_one_cd = stringtoint(Emperor_GetGadgetAttr(Chooser1));
  46.     if(all_or_one_cd) Checkbox_Handle(TRUE);
  47.     else Checkbox_Handle(!in_lha);
  48.     Emperor_SetGadgetDisabledAttr(Checkbox16, all_or_one_cd);
  49.     Emperor_SetGadgetDisabledAttr(Checkbox17, !all_or_one_cd);
  50. }
  51.  
  52. void Button1_GadgetUp_Event(void)
  53. {
  54.     char output[16] = "";
  55.     char buffer1[16] = "";
  56.     char dirbuffer[300][16];
  57.     char filebuffer[21] = "";
  58.     BOOL term = FALSE, checkboxbool = FALSE;
  59.     BPTR file = NULL;
  60.     WORD i = 0, j = 0, k = 0, l = 0;
  61.     FLOAT calc = 0.00, calc1 = 0.00;
  62.     FLOAT position1 = 0.00, position2 = 0.00, position3 = 0.00, position4 = 0.00;
  63.     ULONG counter = 0;
  64.  
  65.     entryzahl = 0;
  66.     Checkbox_Handle(TRUE);
  67.     Emperor_SetGadgetDisabledAttr(String1, TRUE);
  68.     Emperor_SetGadgetDisabledAttr(String2, TRUE);
  69.     Emperor_SetGadgetDisabledAttr(String3, TRUE);
  70.     Emperor_SetGadgetDisabledAttr(String4, TRUE);
  71.     Emperor_SetGadgetDisabledAttr(String5, TRUE);
  72.     Emperor_SetGadgetDisabledAttr(Checkbox16, TRUE);
  73.     Emperor_SetGadgetDisabledAttr(Checkbox17, TRUE);
  74.     Emperor_SetGadgetDisabledAttr(Chooser1, TRUE);
  75.     Emperor_SetGadgetDisabledAttr(Button1, TRUE);
  76.     Emperor_SetGadgetDisabledAttr(Button2, FALSE);
  77.  
  78.     if((pattern[0][0]) || (pattern[1][0]) || (pattern[2][0]) || (pattern[3][0]) || (pattern[4][0]))
  79.     {
  80.         if(!all_or_one_cd)
  81.         {
  82.             /* nur eine CD */
  83.             if(in_lha)
  84.             {
  85.                 /* suche in LhAs */
  86.                 for(j = 0;j < 14;j++)
  87.                 {
  88.                     term = stringtoint(Emperor_GetGadgetAttr(Button2));
  89.                     switch(j)
  90.                     {
  91.                       case 0: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox1)); break;
  92.                       case 1: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox2)); break;
  93.                       case 2: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox3)); break;
  94.                       case 3: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox4)); break;
  95.                       case 4: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox5)); break;
  96.                       case 5: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox6)); break;
  97.                       case 6: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox7)); break;
  98.                       case 7: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox8)); break;
  99.                       case 8: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox9)); break;
  100.                       case 9: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox10)); break;
  101.                       case 10: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox11)); break;
  102.                       case 11: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox12)); break;
  103.                       case 12: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox13)); break;
  104.                       case 13: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox14)); break;
  105.                       case 14: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox15)); break;
  106.                     }
  107.                     if(checkboxbool)
  108.                     {
  109.                         file = NULL;
  110.                         switch(j)
  111.                         {
  112.                             case  0: file = Open("CD0:Aminet/biz/INDEX",  MODE_OLDFILE); break;
  113.                             case  1: file = Open("CD0:Aminet/comm/INDEX", MODE_OLDFILE); break;
  114.                             case  2: file = Open("CD0:Aminet/demo/INDEX", MODE_OLDFILE); break;
  115.                             case  3: file = Open("CD0:Aminet/dev/INDEX",  MODE_OLDFILE); break;
  116.                             case  4: file = Open("CD0:Aminet/disk/INDEX", MODE_OLDFILE); break;
  117.                             case  5: file = Open("CD0:Aminet/docs/INDEX", MODE_OLDFILE); break;
  118.                             case  6: file = Open("CD0:Aminet/game/INDEX", MODE_OLDFILE); break;
  119.                             case  7: file = Open("CD0:Aminet/gfx/INDEX",  MODE_OLDFILE); break;
  120.                             case  8: file = Open("CD0:Aminet/hard/INDEX", MODE_OLDFILE); break;
  121.                             case  9: file = Open("CD0:Aminet/misc/INDEX", MODE_OLDFILE); break;
  122.                             case 10: file = Open("CD0:Aminet/mods/INDEX", MODE_OLDFILE); break;
  123.                             case 11: file = Open("CD0:Aminet/mus/INDEX",  MODE_OLDFILE); break;
  124.                             case 12: file = Open("CD0:Aminet/pix/INDEX",  MODE_OLDFILE); break;
  125.                             case 13: file = Open("CD0:Aminet/text/INDEX", MODE_OLDFILE); break;
  126.                             case 14: file = Open("CD0:Aminet/util/INDEX", MODE_OLDFILE); break;
  127.                         }
  128.                         if(file)
  129.                         {
  130.                             Seek(file, 0, OFFSET_END);
  131.                             position2 += Seek(file, 0, OFFSET_BEGINNING);
  132.                             Close(file);
  133.                         }
  134.                     }
  135.                     if(term) break;
  136.                 }
  137.                 for(j = 0;j < 14;j++)
  138.                 {
  139.                     switch(j)
  140.                     {
  141.                       case 0: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox1)); break;
  142.                       case 1: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox2)); break;
  143.                       case 2: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox3)); break;
  144.                       case 3: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox4)); break;
  145.                       case 4: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox5)); break;
  146.                       case 5: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox6)); break;
  147.                       case 6: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox7)); break;
  148.                       case 7: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox8)); break;
  149.                       case 8: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox9)); break;
  150.                       case 9: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox10)); break;
  151.                       case 10: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox11)); break;
  152.                       case 11: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox12)); break;
  153.                       case 12: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox13)); break;
  154.                       case 13: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox14)); break;
  155.                       case 14: checkboxbool = stringtoint(Emperor_GetGadgetAttr(Checkbox15)); break;
  156.                     }
  157.                     if(checkboxbool)
  158.                     {
  159.                         file = NULL;
  160.                         switch(j)
  161.                         {
  162.                             case  0: file = Open("CD0:Aminet/biz/INDEX",  MODE_OLDFILE); break;
  163.                             case  1: file = Open("CD0:Aminet/comm/INDEX", MODE_OLDFILE); break;
  164.                             case  2: file = Open("CD0:Aminet/demo/INDEX", MODE_OLDFILE); break;
  165.                             case  3: file = Open("CD0:Aminet/dev/INDEX",  MODE_OLDFILE); break;
  166.                             case  4: file = Open("CD0:Aminet/disk/INDEX", MODE_OLDFILE); break;
  167.                             case  5: file = Open("CD0:Aminet/docs/INDEX", MODE_OLDFILE); break;
  168.                             case  6: file = Open("CD0:Aminet/game/INDEX", MODE_OLDFILE); break;
  169.                             case  7: file = Open("CD0:Aminet/gfx/INDEX",  MODE_OLDFILE); break;
  170.                             case  8: file = Open("CD0:Aminet/hard/INDEX", MODE_OLDFILE); break;
  171.                             case  9: file = Open("CD0:Aminet/misc/INDEX", MODE_OLDFILE); break;
  172.                             case 10: file = Open("CD0:Aminet/mods/INDEX", MODE_OLDFILE); break;
  173.                             case 11: file = Open("CD0:Aminet/mus/INDEX",  MODE_OLDFILE); break;
  174.                             case 12: file = Open("CD0:Aminet/pix/INDEX",  MODE_OLDFILE); break;
  175.                             case 13: file = Open("CD0:Aminet/text/INDEX", MODE_OLDFILE); break;
  176.                             case 14: file = Open("CD0:Aminet/util/INDEX", MODE_OLDFILE); break;
  177.                         }
  178.                         if(file)
  179.                         {
  180.                             filezahl = 0;
  181.                             Seek(file, 0, OFFSET_END);
  182.                             position1 = Seek(file, 0, OFFSET_BEGINNING);
  183.                             FGets(file, puffer, 100);
  184.                             FGets(file, puffer, 100);
  185.                             while((FGets(file, puffer, 100)) && (filezahl < 300))
  186.                             {
  187.                                 stringcopywithoutspace(filebuffer, puffer);
  188.                                 for(l = 0;l < 15;l++) buffer1[l] = puffer[l + 19];
  189.                                 buffer1[15] = NULL;
  190.                                 stringcopywithoutspace(dirbuffer[filezahl], buffer1);
  191.                                 strcpy(executepuffer[filezahl], "Run >NIL: lha v CD0:Aminet/");
  192.                                 strcat(executepuffer[filezahl], dirbuffer[filezahl]);
  193.                                 strcat(executepuffer[filezahl], "/");
  194.                                 strcat(executepuffer[filezahl], filebuffer);
  195.                                 strcat(executepuffer[filezahl], " >RAM:T/AminetSearcher-LhA.output");
  196.                                 filezahl++;
  197.                                 term = stringtoint(Emperor_GetGadgetAttr(Button2));
  198.                                 if(term) break;
  199.                             }
  200.                             Close(file);
  201.                             for(k = 0;k < filezahl;k++)
  202.                             {
  203. /*****************************************************************************/
  204. /** This section isn't correct ! (and I don't know why !)                   **/
  205. /** Now the packer LhA should be called, but after a calling like:          **/
  206. /**                         SystemTags(executepuffer[k], TAG_DONE);         **/
  207. /** or                                                                      **/
  208. /**                         Execute(executepuffer[k], NULL, NULL);          **/
  209. /** the program doesn't open the outputfile.                                **/
  210. /*****************************************************************************/
  211. /*****************************************************************************/
  212. /** Dieser Abschnitt stimmt noch nicht ganz ! (und ich weiß nicht warum !)  **/
  213. /** Irgendwie soll nun der Aufruf von LhA erfolgen, aber nach diesem Aufruf **/
  214. /** in der Richtung wie:                                                    **/
  215. /**                         SystemTags(executepuffer[k], TAG_DONE);         **/
  216. /** oder                                                                    **/
  217. /**                         Execute(executepuffer[k], NULL, NULL);          **/
  218. /** kann man das Programm, aus welchem Grund auch immer, nicht mehr zum     **/
  219. /** öffnen des Output-Files bewegen.                                        **/
  220. /*****************************************************************************/
  221.                                 calc = (FLOAT) k / (FLOAT) filezahl * 100;
  222.                                 calc1 = ((calc / 100) * position1 + position3) / position2 * 100;
  223.                                 Emperor_SetGadgetAttr(Fuelgauge1, inttostring((LONG) calc));
  224.                                 Emperor_SetGadgetAttr(Fuelgauge2, inttostring((LONG) calc1));
  225.                                 Emperor_SetGadgetAttr(String6, dirbuffer[k]);
  226.                                 term = stringtoint(Emperor_GetGadgetAttr(Button2));
  227.                                 if(term) break;
  228.                             }
  229.                             position3 += position1;
  230.                         }
  231.                         else Errorrequest1();
  232.                     }
  233.                     if(term) break;
  234.                 }
  235.             }
  236.             else
  237.             {
  238.                 /* suche im Index */
  239.                 file = Open("CD0:Aminet/INDEX", MODE_OLDFILE);
  240.                 if(file)
  241.                 {
  242.                     Seek(file, 0, OFFSET_END);
  243.                     position1 = Seek(file, 0, OFFSET_BEGINNING);
  244.                     FGets(file, puffer, 100);
  245.                     FGets(file, puffer, 100);
  246.                     FGets(file, puffer, 100);
  247.                     FGets(file, puffer, 100);
  248.                     FGets(file, puffer, 100);
  249.                     FGets(file, puffer, 100);
  250.                     while((FGets(file, puffer, 100)) && (entryzahl < 1024))
  251.                     {
  252.                         makelower(convert, puffer);
  253.                         make_entry();
  254.                         counter++;
  255.                         if(counter == 50)
  256.                         {
  257.                             counter = 0;
  258.                             position2 = Seek(file, 0, OFFSET_CURRENT);
  259.                             calc = position2 / position1 * 100;
  260.                             for(i = 0;i < 15;i++) output[i] = puffer[19 + i];
  261.                             output[15] = NULL;
  262.                             Emperor_SetGadgetAttr(Fuelgauge1, inttostring((LONG) calc));
  263.                             Emperor_SetGadgetAttr(Fuelgauge2, inttostring((LONG) calc1));
  264.                             Emperor_SetGadgetAttr(String6, output);
  265.                             term = stringtoint(Emperor_GetGadgetAttr(Button2));
  266.                         }
  267.                         if(term) break;
  268.                     }
  269.                     Close(file);
  270.                 }
  271.                 else Errorrequest1();
  272.             }
  273.         }
  274.         else
  275.         {
  276.             /* alle CDs */
  277.             if(single) file = Open("CD0:Lists/Single_Dir.doc", MODE_OLDFILE);
  278.             else file = Open("CD0:Lists/Aminet_Dir.doc", MODE_OLDFILE);
  279.             if(file)
  280.             {
  281.                 Seek(file, 0, OFFSET_END);
  282.                 position1 = Seek(file, 0, OFFSET_BEGINNING);
  283.                 FGets(file, puffer, 100);
  284.                 FGets(file, puffer, 100);
  285.                 FGets(file, puffer, 100);
  286.                 FGets(file, puffer, 100);
  287.                 FGets(file, puffer, 100);
  288.                 FGets(file, puffer, 100);
  289.                 while((FGets(file, puffer, 100)) && (entryzahl < 1024))
  290.                 {
  291.                     makelower(convert, puffer);
  292.                     make_entry();
  293.                     counter++;
  294.                     if(counter == 200)
  295.                     {
  296.                         counter = 0;
  297.                         position2 = Seek(file, 0, OFFSET_CURRENT);
  298.                         calc = position2 / position1 * 100;
  299.                         for(i = 0;i < 15;i++) output[i] = puffer[19 + i];
  300.                         output[15] = NULL;
  301.                         Emperor_SetGadgetAttr(Fuelgauge1, inttostring((LONG) calc));
  302.                         Emperor_SetGadgetAttr(Fuelgauge2, inttostring((LONG) calc1));
  303.                         Emperor_SetGadgetAttr(String6, output);
  304.                         term = stringtoint(Emperor_GetGadgetAttr(Button2));
  305.                     }
  306.                     if(term) break;
  307.                 }
  308.                 Close(file);
  309.             }
  310.             else Errorrequest1();
  311.         }
  312.     }
  313.     else Nopatternrequest1();
  314.     Emperor_SetGadgetDisabledAttr(String1, FALSE);
  315.     Emperor_SetGadgetDisabledAttr(String2, FALSE);
  316.     Emperor_SetGadgetDisabledAttr(String3, FALSE);
  317.     Emperor_SetGadgetDisabledAttr(String4, FALSE);
  318.     Emperor_SetGadgetDisabledAttr(String5, FALSE);
  319.     Emperor_SetGadgetDisabledAttr(Checkbox16, all_or_one_cd);
  320.     Emperor_SetGadgetDisabledAttr(Checkbox17, !all_or_one_cd);
  321.     Emperor_SetGadgetDisabledAttr(Chooser1, FALSE);
  322.     Emperor_SetGadgetDisabledAttr(Button1, FALSE);
  323.     Emperor_SetGadgetDisabledAttr(Button2, TRUE);
  324.     Emperor_SetGadgetAttr(Fuelgauge1, inttostring(100));
  325.     Emperor_SetGadgetAttr(Fuelgauge2, inttostring(100));
  326.     Emperor_SetGadgetAttr(String6, "Status: ok");
  327.     Checkbox_Handle(!in_lha || all_or_one_cd);
  328.     if(term) Emperor_SetGadgetAttr(Button2, inttostring(FALSE));
  329. }
  330.  
  331. void Listbrowser1_GadgetUp_Event(void)
  332. {
  333.     char buffer1[20];
  334.     LONG entry;
  335.     WORD choose, i = 0;
  336.  
  337.     IntuiMessage = GT_GetIMsg(Window1->UserPort);
  338.     if(DoubleClick(Seconds, Micros, IntuiMessage->Seconds, IntuiMessage->Micros))
  339.     {
  340.         entry = stringtoint(Emperor_GetGadgetAttr(Listbrowser1));
  341.         if(entry != -1)
  342.         {
  343.             choose = Extractrequest1();
  344.             if(choose == 1)
  345.             {
  346.                 strcpy(puffer, "SYS:Utilities/Multiview CD0:Aminet/");
  347.                 stringcopywithoutspace(buffer1, founded_files_list_col3_raw[entry]);
  348.                 strcat(puffer, buffer1);
  349.                 strcat(puffer, "/");
  350.                 stringcopywithoutspace(buffer1, founded_files_list_col2_raw[entry]);
  351.                 strcat(puffer, buffer1);
  352.                 while(puffer[i]) i++;
  353.                 puffer[i - 4] = NULL;
  354.                 strcat(puffer, ".readme");
  355.                 Execute(puffer, NULL, NULL);
  356.                 Emperor_SetGadgetAttr(String6, "Status: ok");
  357.             }
  358.             if(choose == 2)
  359.             {
  360.                 strcpy(puffer, "Run >NIL: lha x CD0:Aminet/");
  361.                 stringcopywithoutspace(buffer1, founded_files_list_col3_raw[entry]);
  362.                 strcat(puffer, buffer1);
  363.                 strcat(puffer, "/");
  364.                 stringcopywithoutspace(buffer1, founded_files_list_col2_raw[entry]);
  365.                 strcat(puffer, buffer1);
  366.                 strcat(puffer, " RAM:");
  367.                 Execute(puffer, NULL, NULL);
  368.                 Emperor_SetGadgetAttr(String6, "Extracted to RAM:");
  369.             }
  370.             if(choose == 3)
  371.             {
  372.                 Emperor_SetGadgetAttr(String6, "Status: ok");
  373.             }
  374.         }
  375.     }
  376.     Seconds = IntuiMessage->Seconds;
  377.     Micros = IntuiMessage->Micros;
  378.     GT_ReplyIMsg(IntuiMessage);
  379. }
  380.  
  381. void Checkbox_Handle(BOOL disabled)
  382. {
  383.     Emperor_SetGadgetDisabledAttr(Checkbox1, disabled);
  384.     Emperor_SetGadgetDisabledAttr(Checkbox2, disabled);
  385.     Emperor_SetGadgetDisabledAttr(Checkbox3, disabled);
  386.     Emperor_SetGadgetDisabledAttr(Checkbox4, disabled);
  387.     Emperor_SetGadgetDisabledAttr(Checkbox5, disabled);
  388.     Emperor_SetGadgetDisabledAttr(Checkbox6, disabled);
  389.     Emperor_SetGadgetDisabledAttr(Checkbox7, disabled);
  390.     Emperor_SetGadgetDisabledAttr(Checkbox8, disabled);
  391.     Emperor_SetGadgetDisabledAttr(Checkbox9, disabled);
  392.     Emperor_SetGadgetDisabledAttr(Checkbox10, disabled);
  393.     Emperor_SetGadgetDisabledAttr(Checkbox11, disabled);
  394.     Emperor_SetGadgetDisabledAttr(Checkbox12, disabled);
  395.     Emperor_SetGadgetDisabledAttr(Checkbox13, disabled);
  396.     Emperor_SetGadgetDisabledAttr(Checkbox14, disabled);
  397.     Emperor_SetGadgetDisabledAttr(Checkbox15, disabled);
  398. }
  399.  
  400. void Checkbox_Handle_onoff(BOOL onoff)
  401. {
  402.     Emperor_SetGadgetAttr(Checkbox1, inttostring(onoff));
  403.     Emperor_SetGadgetAttr(Checkbox2, inttostring(onoff));
  404.     Emperor_SetGadgetAttr(Checkbox3, inttostring(onoff));
  405.     Emperor_SetGadgetAttr(Checkbox4, inttostring(onoff));
  406.     Emperor_SetGadgetAttr(Checkbox5, inttostring(onoff));
  407.     Emperor_SetGadgetAttr(Checkbox6, inttostring(onoff));
  408.     Emperor_SetGadgetAttr(Checkbox7, inttostring(onoff));
  409.     Emperor_SetGadgetAttr(Checkbox8, inttostring(onoff));
  410.     Emperor_SetGadgetAttr(Checkbox9, inttostring(onoff));
  411.     Emperor_SetGadgetAttr(Checkbox10, inttostring(onoff));
  412.     Emperor_SetGadgetAttr(Checkbox11, inttostring(onoff));
  413.     Emperor_SetGadgetAttr(Checkbox12, inttostring(onoff));
  414.     Emperor_SetGadgetAttr(Checkbox13, inttostring(onoff));
  415.     Emperor_SetGadgetAttr(Checkbox14, inttostring(onoff));
  416.     Emperor_SetGadgetAttr(Checkbox15, inttostring(onoff));
  417. }
  418.  
  419. void String1_GadgetUp_Event(void)
  420. {
  421.     strcpy(pattern[0], Emperor_GetGadgetAttr(String1));
  422.     makelower(patternlower[0], pattern[0]);
  423. }
  424.  
  425. void String2_GadgetUp_Event(void)
  426. {
  427.     strcpy(pattern[1], Emperor_GetGadgetAttr(String2));
  428.     makelower(patternlower[1], pattern[1]);
  429. }
  430.  
  431. void String3_GadgetUp_Event(void)
  432. {
  433.     strcpy(pattern[2], Emperor_GetGadgetAttr(String3));
  434.     makelower(patternlower[2], pattern[2]);
  435. }
  436.  
  437. void String4_GadgetUp_Event(void)
  438. {
  439.     strcpy(pattern[3], Emperor_GetGadgetAttr(String4));
  440.     makelower(patternlower[3], pattern[3]);
  441. }
  442.  
  443. void String5_GadgetUp_Event(void)
  444. {
  445.     strcpy(pattern[4], Emperor_GetGadgetAttr(String5));
  446.     makelower(patternlower[4], pattern[4]);
  447. }
  448.  
  449.